////关于异常匹配的顺序//建议子类类型异常捕获放到基类类型异常捕获前面
//#include <iostream>
//#include <cstdio>
//using namespace std;
//
//class A {
//};
//class B :public A {
//
//};
//void foo() {
//	throw B();
//}
//int main(void) {
//	try {
//		foo();
//	}
//	catch (B& a) {
//		//A类型catch捕获
//		cout << "A类型catch捕获" << endl;
//	}
//	catch(A& b){
//		cout << "B类型catch捕获" << endl;
//	}
//	return 0;
//}